After completing this lesson, you’ll be able to:
Parameters are controls that define how FME operates; for example, how a reader reads data, how a transformer transforms it, and how a writer writes it. Almost every component in FME has parameters of one type or another. You've already run into them while using FME.
This lesson will overview the different types of parameters available within FME and introduce user parameters. User parameters are the key to giving the end-user control over self-serve workspaces.
Parameters control FME translations and transformations. Some parameters are set solely in FME Workbench to control different translation components:
This training only focuses on working with parameters alongside FME Flow. For more in-depth training on parameters in FME Form, you can take the FME Form Advanced module Create Flexible Workspaces with Parameters.
The workspace's author determines the most available parameters, which you cannot alter once you publish them to FME Flow. FME Flow provides access to the following parameters:
In FME Flow Automations, there's also Automation Parameters and Manual Parameters. You can learn more about them in Build Basic Automations.
Although workspace authors set most of the parameters, the end-user must be able to set some of them in some cases.
User parameters are methods for getting input into a workspace, enabling users to set values for their translation. You can present any parameter in FME to the user as a choice when running a workspace. When running the workspace in FME Workbench or FME Flow, the user chooses the value for that parameter, giving the user greater control and customization over the workspace readers, transformers, and writers.
For self-serve workflows, user parameters are most commonly used to set:
With FME Flow, the key to successful workspace authoring is flexibility. Workspaces need to be flexible to allow end-users to make choices without seeing all of the complexity of the workspace or the data behind it. One way to accomplish this is by using parameters.
As a workspace author, you must choose the appropriate user parameter based on the following questions:
You can choose from the following options:
| Parameter Type | Creates a Parameter to... |
|---|---|
| Choice | Choose one or more values. |
| Color | Select a color value. |
| Datetime | Enter a date and time. For information about output formats, see Standard FME Date/Time Format. |
| File/Folder/URL | Choose the names and paths of existing files or folders, an output file or folder, or a URL. |
| Message | Display a message at runtime. |
| Number | Enter an integer or floating-point number. The number can be bounded or unbounded based on the specified Configuration. |
| Password | Enter a password. |
| Text | Enter a text string. |
| Yes/No | Select or unselect a checkbox. |
| Attribute Name | Choose feature type attributes or items from a comma-delimited or space-delimited attribute list. |
| Coordinate System | Choose a coordinate system. |
| Database Connection | Choose a database connection. |
| Geometry | Enter geometry as spatial coordinates in GeoJSON. When a workspace containing a Geometry published parameter is run from FME Flow, an interface is available to display the specified coordinates on a map and specify the desired geometry. |
| Reprojection File | Choose a grid shift file for reprojecting data. |
| Web Connection | Choose a web connection. |
You can create user parameters in several ways, depending on how you author the workspace. The most common ways to create parameters are:
1) Directly from another parameter in the Navigator window, such as reader, writer, or transformer parameters

2) From within the reader, writer, or transformer settings

3) From within the Parameter Manager on FME Workbench, accessed by right-clicking User Parameters in the Navigator and choosing Manage User Parameters...

If you create a user parameter from the Parameter Manager, you must link it to the parameter value where you wish to control it.

You add, configure, reorder, and group parameters in the Parameter Manager.
The left-hand side of the Parameter Manager shows all of your created parameters and options to add new ones, group, copy and paste, reorder, and delete.
The right-hand side displays the properties for the newly created or selected parameter.

In the parameter properties, you can customize the requirements and display for each parameter. If a parameter is required, you must give it a value for the workspace to run, and FME disables the Run button if the value is empty.
When you make a user parameter available to the end-user, it becomes a published parameter. Published parameters appear when configuring the workspace to run on FME Flow. In self-serve applications, they are essential because they let end-users control how the data is served. If you leave a user parameter unpublished, end-users won’t see or be able to edit it when running the workspace on FME Flow. You may want to use an unpublished parameter to reuse a value multiple times in a workspace without letting the end-user change it.
FME Workbench uses a lock symbol to denote unpublished parameters. In the image below, the Password parameter is unpublished while the other parameters are published.

When running a workspace on FME Flow, only the published parameters are visible. Unpublished parameters will use the default value if they're required. For the parameters above, the Password parameter isn't visible to be altered on FME Flow.

Now you can use published parameters on FME Flow to design user-controlled workspaces. Published parameters are available everywhere you configure a workspace to run on FME Flow, from Automations to Apps to Streams.

Jennifer, a GIS Specialist, is developing workspaces for other users to run on FME Flow. An essential part of her work is creating parameters to provide different aspects of flexibility and control to the end-users for the workflows. For the quiz, help Jennifer select the best options to implement user parameters into the workflows for each scenario.
Jennifer is creating a tool for users to extract data for specific neighborhoods within a city. She intends to have the user choose the neighborhood, and the workspace will filter the data accordingly and deliver the data in an output format of the user's choice.
Jennifer is building a workflow for her organization's planning team to export infrastructure project data from one of two PostgreSQL databases. She has created two database connections—one for the live production environment and one for the development testing copy. Jennifer wants users to enter the project ID number and select which database to query for the data.
Jennifer is creating a tool for an environmental analysis team that frequently works with large aerial imagery (e.g., orthophotos). They want an FME workspace that crops a section of the imagery based on geometry input and highlights certain features or regions by applying a custom colour overlay. Jennifer has built the transformers of the workspace and is now working on the parameters to take user input.